Often, the colors in an original image are outside the range of colors of the device, such as a printer or monitor, on which the original image is intended to be rendered or displayed. Gamut mapping algorithms are used to determine what color best represents any particular color of the original input image. These algorithms usually take as input the original image and determine a transformation of all possible input colors to a best possible output color reproducible by the target device. Since such algorithms tend to perform color transformations on a pixel by pixel basis, these are often referred to as pixelwise algorithms.
One common problem with pixelwise techniques is that spatial relationships between colors can sometimes be altered between an input and the output of the image. This can result in undesirable artifacts, such as a loss of detail being introduced in the output image. To mitigate this, spatial gamut mapping (SGM) algorithms have been developed. Unlike pixel-wise techniques, SGM algorithms are designed to as best possible preserve spatial relationships among pixels while still maintaining accuracy in gamut mapping. With these spatial techniques, the gamut-mapping function depends not only on the input pixel color but also the colors of pixels in a neighborhood of pixels surrounding the pixel. In other words, two pixels that have the same color in the original image may be best mapped to two different output colors based on the colors of pixels surrounding each of them. Common to these and other spatial gamut mapping techniques is that the parameters which operate on spatial neighborhoods are often determined a-priori based on heuristics and general knowledge of the image type and image classes. As such, a set of parameters can represent compromises which may not produce optimal quality for all image types.
Accordingly, what is needed in this art are increasingly sophisticated systems and methods which use local complexity characteristics to guide the selection of parameters used in a spatial gamut mapping algorithm in a spatially varying fashion.